Python+Appium手机自动化测试学习实战一 您所在的位置:网站首页 python 手机自动化 Python+Appium手机自动化测试学习实战一

Python+Appium手机自动化测试学习实战一

2023-08-24 23:09| 来源: 网络整理| 查看: 265

1、Appium是一个开源跨平台的工具,可以测试Android与ios 2、appium本身并不能自动化手机,能够做到跨平台是因为些平台自己本身就有自动化框架 3、appium只负责承担中间人的角色。 4、可以支持python、java、c#等 5、c/s架构,c端就是是测试代码 **

环境搭建

**

1、安装:Appium客户端库 输入pip命令安装appium客户端库 pip install Appium-Python-Client 在这里插入图片描述

使用pip list查询appium客户端库是否安装 在这里插入图片描述

2、安装appiumDesktop通过这个接受代码发过来的指令,来转成 手机上能够识别的指令,第一次在手机上运行代码后,手机上也会自动安装一个。 在这里插入图片描述

安装成功后会是一这样子的界面 在这里插入图片描述

点击Start Server V1.15.1能够正常打开就没有问题了 在这里插入图片描述

3、安装android-SDk,这是手机自身的测试框架,包含了元素定位工具与对应的包,直接解压,然后配置环境变量好了,环境运行需要有一个java的环境,弄一个1.8的jdk并且配置环境变量就好了 在这里插入图片描述 配置android-SDk环境变量

变量名:ANDROID_HOME 变量值:变量值就是android-SDk解压后文件的位置 在这里插入图片描述

在这里插入图片描述 配置java环境变量

变量名:JAVA_HOME 变量值:变量值就是jdk解压后文件的位置 在这里插入图片描述 在这里插入图片描述 环境搭建完了以后,需要进行手机设置

1、打开手机上开发者模式 2、打开手机上usb相关的权限 3、使用数据线连接手机与电脑,允许电脑对手机的操作

测试手机与电脑连接是否成功

在这个有adb.exe的文件里面打开命令窗口(按住Shift,单机鼠标右键,点击在此处打开命令窗口) 在这里插入图片描述

输入adb devices 可以查到就表示连接没有问题了 在这里插入图片描述

环境搭建搭建完成,并且手机连接没问题后,就可以开始写代码啦!!! 代码部分跟selenium差不多,不过selenium通过webdriver.Chrome,appium是webdriver.Remote。

配置项

platformName—设备平台。填Android或IOS platformVersion—手机版本 deviceName----设备名。可以随便填写,但必须要有这一项 appPackage----要启动的app的包名。微信是"com.tencent.mm" appActivity----要启动的界面。微信启动界面是".ui.LauncherUI"

获取被测应用信息

首先打开被测应用,然后在命令窗口输入以下命令,框起来的就是appPackage adb shell dumpsys activity recents | findstr intent com开头的包名,/.后面的是入口信息,/不需要保留 在这里插入图片描述 …小案例…

** from appium import webdriver deploy = { # 这些是必须要的 "platformName":"Android", "platformVersion":"7.1.2", "deviceName":"emulator-5554", "appPackage":"com.netease.cloudmusic", "appActivity":".activity.LoadingActivity", #下面的随意 #禁止app在自动化后重置 "noReset":True, # # 设置命令超时时间,单位秒 "newCommandTimeout":3600 } driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',deploy) driver.implicitly_wait(100) # 开始自动操作app(XPATH //元素类型(class值)[@属性='属性值']) # 1、点击每日推荐 driver.find_element_by_xpath("//*[@text='每日推荐']").click() # 2、获取前三首歌曲信息 # 歌曲名字 gequ = driver.find_elements_by_id('com.netease.cloudmusic:id/songName')[:3] #打印歌曲 for gequ in gequ: print(gequ.text) driver.quit() **

打开被测app,打开appium到这个界面,然后运行代码,app会自动重启,然后appium会后面会显示200,那么代码就没有问题啦!! 在这里插入图片描述

app自动重启后,appium显示200 在这里插入图片描述

配置参数,可以获取手机元素 在这里插入图片描述

保存后点击 Start session 在这里插入图片描述

报错。。。 在这里插入图片描述 解决方法 在这里插入图片描述 在这里插入图片描述 不进主页的话,刷新一下就可以了 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有